home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Canvas;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.image.ImageObserver;
-
- class BlinkCanvas2 extends Canvas implements Runnable {
- String message;
- Font font;
- Color color;
- Image theImage;
- Thread theThread;
- int timeOn;
- int timeOff;
- Image osImage;
- Graphics osg;
- // $FF: renamed from: fm java.awt.FontMetrics
- FontMetrics field_0;
- // $FF: renamed from: x int
- int field_1;
- // $FF: renamed from: y int
- int field_2;
- // $FF: renamed from: w int
- int field_3;
- // $FF: renamed from: h int
- int field_4;
- int imageWidth;
- int imageHeight;
- Color bkColor;
- Image bkImage;
- boolean shown = true;
-
- public BlinkCanvas2(Applet var1, int var2) {
- this.GetParameters(var1, var2);
- }
-
- void GetParameters(Applet var1, int var2) {
- this.message = var1.getParameter("blinkText" + var2);
- if (this.message != null) {
- String var3 = var1.getParameter("blinkColor" + var2);
- this.color = AppletParam2.GetColor(var3, Color.black);
- var3 = var1.getParameter("blinkFont" + var2);
- this.font = AppletParam2.GetJavaFont(var3);
- }
-
- String var5 = var1.getParameter("blinkOnTime" + var2);
- this.timeOn = AppletParam2.GetInt(var5, 1000);
- var5 = var1.getParameter("blinkOffTime" + var2);
- this.timeOff = AppletParam2.GetInt(var5, 300);
- var5 = var1.getParameter("blinkBkColor" + var2);
- this.bkColor = AppletParam2.GetColor(var5, Color.white);
- if (this.bkColor != null) {
- ((Component)this).setBackground(this.bkColor);
- }
-
- var5 = var1.getParameter("blinkImage" + var2);
- this.theImage = AppletParam2.GetImage(var1, var5);
- var5 = var1.getParameter("blinkBkImage" + var2);
- this.bkImage = var1.getImage(var1.getCodeBase(), var5);
- }
-
- public void Start() {
- this.theThread = new Thread(this);
- this.theThread.start();
- }
-
- public void Stop() {
- this.theThread.stop();
- this.theThread = null;
- }
-
- public void update(Graphics var1) {
- if (this.osImage == null) {
- this.osImage = ((Component)this).createImage(((Component)this).size().width, ((Component)this).size().height);
- this.osg = this.osImage.getGraphics();
- }
-
- this.osg.setColor(((Component)this).getBackground());
- this.osg.fillRect(0, 0, ((Component)this).size().width, ((Component)this).size().height);
- if (this.bkImage != null) {
- int var2 = this.bkImage.getWidth(this);
- int var3 = this.bkImage.getHeight(this);
- int var4 = ((Component)this).size().width / var2;
- int var5 = ((Component)this).size().height / var3;
- ++var4;
- ++var5;
-
- for(int var6 = 0; var6 < var5; ++var6) {
- for(int var7 = 0; var7 < var4; ++var7) {
- this.osg.drawImage(this.bkImage, var7 * var2, var6 * var3, this);
- }
- }
- }
-
- this.osg.setColor(this.color);
- this.osg.setFont(this.font);
- if (this.shown) {
- if (this.message != null) {
- this.field_0 = this.osg.getFontMetrics();
- this.field_3 = this.field_0.stringWidth(this.message);
- this.field_4 = this.field_0.getHeight();
- this.field_1 = (((Component)this).size().width - this.field_3) / 2;
- this.field_2 = ((Component)this).size().height / 2 + this.field_4 / 4;
- this.osg.drawString(this.message, this.field_1, this.field_2);
- } else if (this.theImage != null) {
- this.imageWidth = this.theImage.getWidth(this);
- this.imageHeight = this.theImage.getHeight(this);
- this.field_1 = (((Component)this).size().width - this.imageWidth) / 2;
- this.field_2 = (((Component)this).size().height - this.imageHeight) / 2;
- this.osg.drawImage(this.theImage, this.field_1, this.field_2, (ImageObserver)null);
- }
- }
-
- var1.drawImage(this.osImage, 0, 0, (ImageObserver)null);
- }
-
- public void run() {
- while(true) {
- try {
- if (this.theThread.isAlive()) {
- ((Component)this).repaint();
- int var1 = this.shown ? this.timeOn : this.timeOff;
- Thread.sleep((long)var1);
- this.shown = !this.shown;
- }
- } catch (InterruptedException var2) {
- }
- }
- }
-
- public synchronized void reshape(int var1, int var2, int var3, int var4) {
- super.reshape(var1, var2, var3, var4);
- this.osImage = null;
- this.osg = null;
- }
-
- public Dimension minimumSize() {
- return new Dimension(10, 10);
- }
-
- public Dimension preferredSize() {
- return new Dimension(10, 10);
- }
- }
-